class FuncionariosController < ApplicationController
  load_and_authorize_resource

  def index
    @funcionarios = Funcionario.all
  end

  def new
    @funcionario = Funcionario.new 
    
    @funcionario.build_dado_pessoal
  end

  def create
    @funcionario = Funcionario.new(params[:funcionario])
    if @funcionario.save
      flash[:notice] = "Usuário cadastrado com sucesso"
      redirect_to @funcionario
    else
      flash[:error] = "Funcionario nao salvo"
      render :new
      
    end
    
  end

  def show
    @funcionario = Funcionario.find(params[:id])

    @funcionario_projetos = FuncionarioProjeto.find_all_by_funcionario_id(params[:id])

    @funcionario_tarefas = FuncionarioTarefa.find_all_by_funcionario_id(params[:id])
  end

  def edit
    @funcionario = Funcionario.find(params[:id])
  end

  def destroy
    @funcionario = Funcionario.find(params[:id])
    @funcionario.data_desativacao = DateTime.now
    @funcionario.save
    redirect_to funcionarios_path
  end

  def desativar
    @funcionario = Funcionario.find(params[:id])
    @funcionario.data_desativacao = DateTime.now
    @funcionario.save
    flash[:notice] = "Funcionario desativado com sucesso"
    redirect_to @funcionario
  end

  def ativar
    @funcionario = Funcionario.find(params[:id])
    @funcionario.data_desativacao = nil
    @funcionario.save
    flash[:notice] = "Funcionário ativado com sucesso"
    redirect_to :back
  end

  def menu_funcionario
    render 'funcionarios/menu'
  end


end
